package cn.jn.lhm.part01;

import java.nio.ByteBuffer;

import static cn.jn.lhm.part01.ByteBufferUtil.debugAll;

/**
 * @author lhm 2753914576@qq.com
 * @time 2022/7/3 - 13:02
 **/
public class ByteBufferRead {
    public static void main(String[] args) {
        ByteBuffer buffer = ByteBuffer.allocate(10);
        buffer.put(new byte[]{'a', 'b', 'c', 'd'});
        buffer.flip();

        // rewind 从头开始读
        buffer.get(new byte[4]);
        debugAll(buffer);
        buffer.rewind();
        System.out.println((char) buffer.get());

        // mark & reset
        // mark ：标记当前position的位置
        // reset: 让position回到mark标记的位置
/*        System.out.println((char) buffer.get());
        System.out.println((char) buffer.get());
        buffer.mark();
        System.out.println((char) buffer.get());
        System.out.println((char) buffer.get());
        buffer.reset();
        System.out.println((char) buffer.get());
        System.out.println((char) buffer.get());*/

        // get(i): 不会改变索引的位置，相当于预览
//        System.out.println((char) buffer.get(3));
//        debugAll(buffer);
    }
}
